package com.zrrd.straw1.vo;

import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;

/*
    没有现成的实体类能概括前端所有的参数，
    所以针对性地设置一个和前端参数一一映射的值对象
    值对象：主要就是封装，整理一组参数，没有额外的逻辑。
            提供必要的参数访问方法 setter/getter。
 */
@Data
public class RegisterVo {
    //开闭原则：对修改关闭，对扩展开放。
    //体现就是属性私有，方法公开。
    //Validation框架提供的注解，表示修饰的属性不能为空
    //如果为空，则会将 message 的消息，发错到错误信息中。
    @NotBlank(message="邀请码不能为空")
    private String inviteCode ;
    @NotBlank(message="用户名不能为空")
    @Pattern(regexp = "^1\\d{10}$",message = "手机号格式不正确")
    //String sql = "\\\\d" ;
    private String phone ;
    @NotBlank(message = "昵称不能为空")
    @Pattern(regexp = "^.{2,20}$" , message = "昵称是2到20位字符")
    private String nickname ;
    @NotBlank(message = "密码不能为空")
    @Pattern(regexp = "^\\w{6,20}$",message = "密码是6到20位字符")
    private String password ;
    @NotBlank(message = "确认密码不能为空")
    private String confirm ;

}
